package com.kaifamiao.wendao.mapper;

import com.kaifamiao.wendao.entity.Topic;
import org.apache.ibatis.annotations.Param;

import java.util.List;

public interface TopicMapper {

    /**
     * 统计话题总数目
     * @return
     */
    int count();

    Topic find( Integer id );

    List<Topic> findAll();

    /**
     * 实现分页查询<br>
     * 若需要为一个方法传递多个参数，则可以通过:<br>
     * (1)、通过 Map 向方法传递参数，将来在 SQL 中根据 key 获取相应的值即可<br>
     * (2)、通过 JavaBean 向方法传递参数，将来在SQL中使用ognl表达式获取该JavaBean的属性值即可<br>
     * (3)、通过 @Param 绑定参数名称，将来在SQL中可以用ognl表达式直接获取相应的值<br>
     * @param begin 表示从结果集中第几行开始返回数据(从零开始计数)
     * @param pageSize 表示每页显示的记录数
     * @return
     */
    List<Topic> paging( @Param("start") int begin , @Param("size") int pageSize ) ;

    int save( Topic topic );

    int update( Topic topic );

    int remove( int id );

}
